#ifndef MAPPERUXROM_H
#define MAPPERUXROM_H
#include "Mapper.h"

PNE_NAMESPACE_BEGIN

struct MapperUxROM : public Mapper
{
    MapperUxROM(Cartridge &cart);
    void WritePRG(Address addr, Byte value);
    Byte ReadPRG(Address addr);

    Byte ReadCHR(Address addr);
    void WriteCHR(Address addr, Byte value);

private:
    bool m_usesCharacterRAM;
    const Byte *m_lastBankPtr;
    Address m_selectPRG;

    std::vector<Byte> m_characterRAM;
};

PNE_NAMESPACE_END

#endif // MAPPERUXROM_H

// DONE